package com.franklin.java.completion.map.mybatis;

import com.franklin.java.completion.map.MapData;
import com.franklin.java.entity.sql.ColumnInfo;
import com.franklin.java.utils.SqlHelper;
import com.intellij.openapi.project.Project;
import com.intellij.psi.PsiElement;

import java.util.List;

/**
 * @author Franklin
 * @since 2021/9/1 18:59
 */
public abstract class MybatisMethodHandler<T extends PsiElement> {

    protected Project myProject;

    protected SqlHelper sqlHelper;

    public MybatisMethodHandler(Project project) {
        this.myProject = project;
        this.sqlHelper = new SqlHelper(project);
    }

    public Project getProject() {
        return myProject;
    }

    public abstract List<MapData> resolveMethod(T t);

    public abstract List<ColumnInfo> resolveColumnInfo(T t);
}
